Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release-candidate-checklist make target #7588

Merged
merged 22 commits into from
Aug 5, 2014
Merged

Conversation

jiahao
Copy link
Member

@jiahao jiahao commented Jul 13, 2014

A speculative list trying to automate the steps needed to produce a release candidate.

@jiahao jiahao changed the title WIP: release candidate Make target WIP: release-candidate Make target Jul 13, 2014
@johnmyleswhite
Copy link
Member

Is there a nudge emoji?

@staticfloat
Copy link
Member

I kind of like this, but perhaps we should call it release-candidate-check or rc-checklist or something, as I thought it would actually build julia. You can tell I'm really just wanting to feel involved when the only contribution I make to the discussion is name bikeshedding though. ;)

@jiahao
Copy link
Member Author

jiahao commented Jul 14, 2014

Well, the cat's out of the bag now...

@yurivish
Copy link
Contributor

👍

@tkelman
Copy link
Contributor

tkelman commented Jul 19, 2014

Another item for the list (from #2539 (comment)): replace github's automatic tarball, which won't work because it's missing the submodules, with one we create from make source-dist

@jiahao
Copy link
Member Author

jiahao commented Jul 22, 2014

The checklist now includes a build of the documentation. Ref #2501

@vtjnash vtjnash added this to the 0.3 milestone Jul 28, 2014
@jiahao jiahao changed the title WIP: release-candidate Make target release-candidate-checklist make target Jul 30, 2014
@jiahao
Copy link
Member Author

jiahao commented Jul 30, 2014

The checklist now builds, makes tarballs, builds docs, runs tests and doctests, and runs the benchmarks (really just to check that the code is still current). I'm not sure what else can go on the list that can be automated.

@@ -38,6 +38,26 @@ debug release: | $(DIRS) $(build_datarootdir)/julia/base $(build_datarootdir)/ju
@export private_libdir=$(private_libdir) && \
$(MAKE) $(QUIET_MAKE) LD_LIBRARY_PATH=$(build_libdir):$(LD_LIBRARY_PATH) JULIA_EXECUTABLE="$(JULIA_EXECUTABLE_$@)" $(build_private_libdir)/sys.$(SHLIB_EXT)

release-candidate-checklist: release test source-dist
@#Check documentation
julia doc/NEWS-update.jl #Add missing cross-references to NEWS.md
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this relies on release, might as well make it ./julia instead of julia.

@JeffBezanson
Copy link
Member

I'd like to see even more detail in the list of actions at the end. I feel like we might have written this up before, but I'm not sure. Anyway it should include exactly when to commit, push, tag, and send announcement emails, and anything else like that.

make -C doc latex SPHINXOPTS="-W" #Rebuild Julia PDF docs pedantically
make -C doc doctest #Run Julia doctests
make -C doc linkcheck #Check all links
make -C doc helpdb.jl #Rebuild Julia online documentation for help(), apropos(), etc...
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like you should check that none of these made the git repo dirty.

@staticfloat
Copy link
Member

@JeffBezanson I added a few more items to the list, but by far the step with the most magic is step #4 which has it's own DISTRIBUTING.md file to try and help explain it. Much of the canonical wisdom of this process is encoded in the scripts sitting in this repository, and I can comb over DISTRIBUTING.md to make sure the two knowledge sources are in sync, but honestly there's way too much text to cram into this makefile rule, so I think it's better to just punt off to DISTRIBUTING.md for this step. Other than that, I think we're good to go here. I say we merge this, commit back the NEWS.md and doc/helpdb.jl changes, then cut a new RC.

@ViralBShah
Copy link
Member

How about we keep the instructions only in DISTRIBUTING.md and the steps for building the release candidate in the Makefile?

@JeffBezanson
Copy link
Member

The lists refer to totally different things IMO --- this one documents our process for putting out a release, and DISTRIBUTING is about making binary distributions from a given version, or possibly even from an unreleased version.

@ViralBShah
Copy link
Member

The Makefile just feels like a strange place to have such a list.

@JeffBezanson
Copy link
Member

It would be ok to have this documented elsewhere and just have the make target cat it, however I feel it does make sense to put it in a makefile. make release or make release-candidate should contain all relevant information for how to make a release (candidate). If it's not going to be fully automated, then printing instructions for what to do manually is the next best thing.

@jiahao
Copy link
Member Author

jiahao commented Aug 4, 2014

Added a run of DocCheck.jl and rebased. (Note that this now errors out due to the warnings thrown in #7837)

@staticfloat
Copy link
Member

I'm merging and tagging.

staticfloat added a commit that referenced this pull request Aug 5, 2014
release-candidate-checklist make target
@staticfloat staticfloat merged commit e0dc7c0 into master Aug 5, 2014
@JeffBezanson
Copy link
Member

I'm also seeing another regression: Profile.print is showing c locations whether I ask for them or not.

@staticfloat
Copy link
Member

I don't think that's related to this PR. This PR only touched stuff in doc/ and that one Makefile rule.

@JeffBezanson
Copy link
Member

I know, I'm just saying it here since it might be blocking.

@staticfloat
Copy link
Member

Well, I think we might need to hold off on tagging tonight then and reconvene in the morning.

@jiahao jiahao deleted the cjh/release-candidate branch August 5, 2014 05:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.